package com.sdry.mapper.lz;

import com.sdry.model.lz.CheckItem;
import com.sdry.model.lz.CheckItemDetail;
import com.sdry.model.lz.DeviceCheckItem;
import com.sdry.model.lz.LzQueryCriteria;

import java.util.List;

/**
 * @ClassName DeviceAlarmMapper
 * @Description 设备报警
 * @Author lz
 * @Date 2018年9月25日 15:56:46
 * @Version 1.0
 */
public interface DeviceAlarmMapper {

    /**
     * 添加设备巡检记录
     * @param deviceCheckItem 巡检实体
     * @return
     */
    Long addCheckRecord(DeviceCheckItem deviceCheckItem);

    /**
     * 根据选中行的ID删除该行数据
     * @param id
     * @return
     */
    Long deleteCheckRecordById(long id);

    /**
     * 根据ID修改巡检项信息
     * @param deviceCheckItem 选中行的巡检项
     * @throws Exception
     */
    Long editCheckRecordById(DeviceCheckItem deviceCheckItem);

    /**
     * 查询巡检记录表
     * @param criteria
     * @return
     */
    List<DeviceCheckItem> queryCheckRecord(LzQueryCriteria criteria);

    /**
     * 查询巡检记录表条数
     * @param criteria
     * @return
     */
    int countCheckRecord(LzQueryCriteria criteria);

    /**
     * 查询点检项
     * @param criteria
     * @return
     */
    List<CheckItem> queryCheckItem(LzQueryCriteria criteria);

    /**
     * 查询点检项条数
     * @param criteria
     * @return
     */
    int countCheckItem(LzQueryCriteria criteria);

    /**
     * 单个删除和批量删除
     * @param parseLong
     * @return
     */
    Long deleteCheckItemById(long parseLong);

    /**
     * 根据ID修改编辑
     * @param checkItem
     * @return
     */
    Long editCheckItemById(CheckItem checkItem);

    /**
     * 增加设备巡检项
     * @param checkItem
     * @return
     */
    Long addCheckItem(CheckItem checkItem);

    /**
     * 增加设备巡检项详细
     * @param checkItemDetail
     * @return
     */
    Long addCheckItemDetail(CheckItemDetail checkItemDetail);

    /**
     * 根据ID查询巡检项详细
     * @param cdId 选中行的巡检项
     * @throws Exception
     */
    List<CheckItemDetail> queryCheckItemDetailById(long cdId);

    /**
     * 根据选中行的ID删除该行数据
     * @param id
     * @return
     */
    Long deleteCheckItemDetailById(long id);

    /**
     * 根据选中行的ID编辑该行数据
     * @param checkItemDetail
     * @return
     */
    Long editCheckItemDetailById(CheckItemDetail checkItemDetail);

    /**
     * 根据该行id查询数组remark02
     * @param id
     * @return
     */
    DeviceCheckItem queryArrayListById(long id);

    /**
     * 根据查出的id遍历选项
     * @param id
     * @return
     */
    CheckItem queryCheckItemById(long id);

    CheckItemDetail queryCheckItemDetailListByList(Integer id);
}
